home *** CD-ROM | disk | FTP | other *** search
/ Amiga Tools 2 / Amiga Tools 2.iso / tex / macros / source / contrib / supported / xypic / src / xybsql10.mf < prev    next >
Text File  |  1995-03-15  |  2KB  |  67 lines

  1. % $Id: xybsql10.mf,v 2.7 1992/12/14 01:41:26 kris Exp $
  2. %
  3. % XYBSQL10: lower squiggles/quarter circles for XY-pic at 10 point.
  4. % Copyright (c) 1992  Kristoffer H. Rose  <kris@diku.dk>
  5. %
  6. % This file is part of the XY-pic macro package.
  7. %
  8. % The XY-pic macro package is free software; you can redistribute it and/or
  9. % modify it under the terms of the GNU General Public License as published by
  10. % the Free Software Foundation; either version 2 of the License, or (at your
  11. % option) any later version.
  12. %
  13. % The XY-pic macro package is distributed in the hope that it will be
  14. % useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
  15. % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
  16. % Public License for more details.
  17. %
  18. % You should have received a copy of the GNU General Public License along
  19. % with this macro package; if not, write to the Free Software Foundation,
  20. % Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  21. % _________________________________________________________________________
  22. %
  23. % CONTENTS: Squiggles are quarter circles with secant in all directions.
  24. % Each has zero bounding box around the start point, i.e., from which the
  25. % quarter circle `turns letf' ... this can be illustrated as follows:
  26. %
  27. % Code:    [-1]   15   31   47   63   79   95   111  127
  28. %                                          _
  29. %                                 |   )     |   /\
  30. %           _o    o    o    o    o-   o     o     o   _o
  31. %          |     (     |_    \/                      |
  32. % _________________________________________________________________________
  33. %
  34. font_identifier "XYBSQL"; font_size 10pt#;
  35. mode_setup;
  36.  
  37. % METANESS...
  38. %
  39. segl# = sqrt 2 * 1/4 designsize; define_pixels(segl);   % segment length
  40. segx# = (sqrt 2 - 1)*segl#; define_pixels(segx);    % segment height
  41. segw# = .4pt#; define_whole_blacker_pixels(segw);       % segment thickness
  42. %
  43. pickup pencircle scaled segw; char_pen := savepen;
  44. %
  45. % chartowards makes char cc with quarter circle that is secant to line
  46. % from (0,0) to (dx,dy), turning left.
  47. %
  48. def chartowards(expr cc,dx,dy) =
  49.  beginchar(cc,0,0,0);
  50.   a := angle (dx,dy);
  51.   z0 = (0,0); z1 = segl * dir a;
  52.   pickup char_pen; draw z0{dir(a-45)}..{dir(a+45)}z1;
  53.  endchar
  54. enddef;
  55.  
  56. % GENERATE...
  57. %
  58. input xyd
  59.  
  60. bye.
  61. %
  62. % $Log: xybsql10.mf,v $
  63. % Revision 2.7  1992/12/14  01:41:26  kris
  64. % Now uses xyd.mf.
  65. %
  66. % Based on obsolete xyqc10.mf [Revision 2.6  1992/06/24  01:23:34  kris]
  67.